package CamposDePotencial;

import java.io.IOException;

import javax.vecmath.Point3d;

import estrategia.Predictor;

public class Objetivo {

	private Point3d posicionPunto;
	private int idObjetivo;
	private boolean esObjeto;
	private boolean esFuerte;
	private Predictor predictor;
	
	public Objetivo(Point3d posicionPunto, Predictor p) {
		this.posicionPunto = posicionPunto;
		this.idObjetivo = -1;
		this.esObjeto = false;
		this.esFuerte = false;
		this.predictor = p;
	}
	
	public Objetivo(int idObjetivo, boolean esFuerte, Predictor p) {
		this.idObjetivo = idObjetivo;
		this.posicionPunto = null;
		this.esObjeto = true;
		this.esFuerte = esFuerte;
		this.predictor = p;
	}
	
	
	public boolean esObjeto() {
		return esObjeto;
	}
	
	
	public boolean esEjercito() {
		return ! esFuerte;
	}
	
	public int getIdObjetivo() {
		return idObjetivo;
	}
	
	
	public Point3d getPosicionObjetivo() throws IOException {
		if (esObjeto)
			return predictor.predecirPosicion(idObjetivo);
		else
			return posicionPunto;	
	}
	
}
